增加接口 会员商品订单和更新快递单号 admin/member/goods/order/update admin/member/goods/order

FFIB 4 年 前
コミット
b58eee17c6
共有3 個のファイルを変更した70 個の追加1 個の削除を含む
  1. 50 1
      api/admin_views.py
  2. 3 0
      api/urls.py
  3. 17 0
      member/models.py

+ 50 - 1
api/admin_views.py

@@ -17,6 +17,7 @@ from account.models import UserInfo
17 17
 from coupon.models import UserCouponInfo
18 18
 from integral.models import SaleclerkSubmitLogInfo
19 19
 from mch.models import AdministratorInfo, ConsumeInfoSubmitLogInfo, ModelInfo, DistributorInfo
20
+from member.models import GoodsOrderInfo
20 21
 from statistic.models import ConsumeModelSaleStatisticInfo, ConsumeSaleStatisticInfo, ConsumeUserStatisticInfo
21 22
 from utils.error.errno_utils import (AdministratorStatusCode, ProductBrandStatusCode, ProductCouponStatusCode,
22 23
                                      ProductMachineStatusCode, UserStatusCode)
@@ -668,8 +669,56 @@ def distributor_list(request):
668 669
 
669 670
     infos = list(DistributorInfo.objects.filter(status=True).values_list('distributor_name', flat=True).distinct().order_by('distributor_name'))
670 671
 
671
-    return response(200, 'Get Model List Success', u'获取型号列表成功', data={
672
+    return response(200, 'Get Model List Success', u'获取经销商列表成功', data={
672 673
         'distributors': infos
673 674
     })
674 675
     
676
+def member_goods_order(request):
677
+    brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID)
678
+    admin_id = request.POST.get('admin_id', '')
679
+    phone = request.POST.get('phone', '')
680
+    good_type = request.POST.get('good_type', '')
681
+    page = request.POST.get('page', 1)
682
+    num = request.POST.get('num', 20)
683
+
684
+    if brand_id != settings.KODO_DEFAULT_BRAND_ID:
685
+        return response(ProductBrandStatusCode.BRAND_NOT_MATCH)
686
+
687
+    try:
688
+        administrator = AdministratorInfo.objects.get(admin_id=admin_id, user_status=AdministratorInfo.ACTIVATED, status=True)
689
+    except AdministratorInfo.DoesNotExist:
690
+        return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND)
691
+
692
+    orders = GoodsOrderInfo.objects.filter(phone__icontains=phone, status=True).order_by('-created_at')
693
+
694
+    if good_type:
695
+        orders = orders.filter(good_type=good_type)
696
+
697
+    count = orders.count()
698
+    orders, left = pagination(orders, page, num)
699
+    orders = [order.admindata for order in orders]
700
+
701
+    return response(200, 'Get Member Goods Order List Success', u'获取会员商品订单列表成功', data={
702
+        'orders': orders,
703
+        'left': left,
704
+        'count': count
705
+    })
706
+
707
+def member_goods_order_update(request):
708
+    brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID)
709
+    admin_id = request.POST.get('admin_id', '')
710
+    order_id = request.POST.get('order_id', '')
711
+    tracking_number = request.POST.get('tracking_number', '')
712
+
713
+    if brand_id != settings.KODO_DEFAULT_BRAND_ID:
714
+        return response(ProductBrandStatusCode.BRAND_NOT_MATCH)
715
+
716
+    try:
717
+        administrator = AdministratorInfo.objects.get(admin_id=admin_id, user_status=AdministratorInfo.ACTIVATED, status=True)
718
+    except AdministratorInfo.DoesNotExist:
719
+        return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND)
720
+
721
+    GoodsOrderInfo.objects.filter(pk=order_id, status=True).update(tracking_number=tracking_number)
722
+
723
+    return response(200, 'Get Member Goods Order Update Success', u'获取会员商品订单修改成功')
675 724
     

+ 3 - 0
api/urls.py

@@ -322,6 +322,9 @@ urlpatterns += [
322 322
 
323 323
     url(r'^admin/list/model$', admin_views.model_list, name='model_list'),
324 324
     url(r'^admin/list/distributor$', admin_views.distributor_list, name='distributor_list'),
325
+
326
+    url(r'^admin/member/goods/order$', admin_views.member_goods_order, name='member_goods_order'),
327
+    url(r'^admin/member/goods/order/update$', admin_views.member_goods_order_update, name='member_goods_order_update'),
325 328
 ]
326 329
 
327 330
 urlpatterns += [

+ 17 - 0
member/models.py

@@ -135,6 +135,23 @@ class GoodsOrderInfo(BaseModelMixin):
135 135
 
136 136
     def __unicode__(self):
137 137
         return unicode(self.pk)
138
+    
139
+    @property
140
+    def admindata(self):
141
+        good = GoodsInfo.objects.get(good_id=self.good_id)
142
+        return {
143
+            'order_id': self.pk,
144
+            'good_id': self.good_id,
145
+            'good_name': good.title,
146
+            'good_type': good.good_type,
147
+            'user_id': self.user_id,
148
+            'user_name': self.name,
149
+            'user_phone': self.phone,
150
+            'user_address': self.address,
151
+            'tracking_number': self.tracking_number,
152
+            'integral': self.integral,
153
+            'created_at': tc.local_string(utc_dt=self.created_at, format='%Y-%m-%d %H:%M'),
154
+        }
138 155
 
139 156
 
140 157
 class RightInfo(BaseModelMixin):